package entity.test01.demo01;

import entity.Student;

import java.lang.reflect.Constructor;

public class MainText01 {
    public static void main(String[] args) throws Exception {
        // 1.获取 Student 类的 Class 对象
        Class<?> clazz = Class
                .forName("entity.Student");

        // 在反射中，把类的相关信息封装为相关的对象
        // 2.获取类的构造方法对象
        Constructor<?> constructor = clazz.getConstructor();

        // 3.实例化对象
        Object obj = constructor.newInstance();

        // 4.向下转换 - 证明：反射实例化出来的确实是 Student 对象
        if(obj instanceof Student) {
            Student stu = (Student)obj ;
            // 5.调用方法
            stu.sayHello("张三");
        }
    }
}
